<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<ul>
    <li><a href="https://juejin.cn/post/6945319439772434469">promise</a></li>
</ul>
<section>
    Promise（暂且成为A）返回Promise（暂且称为B）的时候，A需要等待B的状态转换，因此原生Promise似乎是多用了一个tick将A的状态bind到B上，关键在这步，多了一个tick，接下来一个tick是等待B的执行结果，所以总共需要等待2个tick。但是似乎Promise A+并没有对这个规范做要求，所以会出现你这个结果，另外如果用async/await的话似乎也不会出现这个问题
</section>
<script src="promise.js"></script>
<script>
    // Promise.resolve().then(() => {
    //     console.log(0);
    //     return Promise.resolve(4);
    // }).then((res) => {
    //     console.log(res);
    // });

    Promise.resolve().then(() => {
        console.log(0);
        return 4;
    }).then((res) => {
        return res;
    }).then((res) => {
        console.log(res);
    });

    Promise.resolve().then(() => {
        console.log(1);
    }).then(() => {
        console.log(2);
    }).then(() => {
        console.log(3);
    }).then(() => {
        console.log(5);
    }).then(() => {
        console.log(6);
    });

</script>
</body>
</html>
